/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.deployment.interfaces;

import br.com.deployment.entidade.humana.Pessoa;
import br.com.deployment.entidade.protocolo.Pagamento;
import br.com.deployment.entidade.protocolo.Parcela;
import br.com.deployment.entidade.protocolo.Protocolo;
import br.com.deployment.entidade.protocolo.ServicoProtocolo;
import br.com.deployment.entidade.selo.Selo;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import javax.ejb.Remote;

/**
 *
 * @author roniere
 */
@Remote
public interface ProtocoloDaoIn {
    
    public void save(Protocolo entity);
    
    public int salvar(Protocolo entity);

    public void delete(Protocolo entity);

    public Protocolo update(Protocolo entity);

    public Protocolo find(int entityID);

    public List<Protocolo> findAll();

    public List<Protocolo> buscar(Protocolo protocolo);

    public List<ServicoProtocolo> tipoSeloProtocolo(Selo selo);

    public List<ServicoProtocolo> servicoProtocolos(Protocolo p);

    public List<Protocolo> recentes();

    public List<Protocolo> pendentesPagamento();

    public List<Protocolo> pendentesSelo();

    public List<Protocolo> pendentesPagamento(int p);

    public List<Protocolo> pendentesSelo(int p);

    public List<Protocolo> finalizados();

    public Protocolo getProtocoloToSelar(int id);

    public List<Parcela> getParcelas(int id);

    public void verificaPendencia(Protocolo p);

    public List<Protocolo> relatorioTodos(Date dataInicial, Date dataFinal);

    public List<Protocolo> pendentesPagamento(Date dataInicial, Date dataFinal);

    public List<Protocolo> pendentesSelo(Date dataInicial, Date dataFinal);

    public List<Protocolo> finalizados(Date dataInicial, Date dataFinal);

    public List<Protocolo> pesquisaPessoaProtocolo(Pessoa pessoa);

    public List<Protocolo> relatorioProtocoloData(Date data);

    public List<ServicoProtocolo> relatorioSeloProtocolo(Date data, Date dataFinal);

    public List<Protocolo> IntervaloSeloProtocolo(Selo selo, int num1, int num2);

    public List<Pagamento> pagamentosData(Date data);

    public List<Protocolo> protocolosData(Date data);

    
    public BigDecimal protocoloCaixaMes(Date dataini, Date datafim);
    
    public BigDecimal protocoloCaixaMesCartorio(Date dataini, Date datafim);
    
    public BigDecimal protocoloCaixaMesFerm(Date dataini, Date datafim);

    public BigDecimal caixaAreceber(Date dataInicial, Date dataFinal);
    public BigDecimal caixaRecebido(Date dataInicial, Date dataFinal);
            

    public BigDecimal protocoloCaixaMesBig(Date dataini, Date datafim);

    public BigDecimal protocoloCaixaMesReceberBig(Date dataini, Date datafim);

    public List<Protocolo> pesquisarCaixaProtocolo(Date dataInicial, Date dataFinal);

    public List<Pagamento> pesquisarCaixaPagamento(Date dataInicial, Date dataFinal);
}
